package constante;

public enum Token {

	CADEIA_VAZIA("CADEIA_VAZIA", "CV"), 
	NAO_TERMINAL("NAO_TERMINAL", "NT"), 
	TERMINAL_CLASSE("TERMINAL_CLASSE", "TC"),
	TERMINAL_LITERAL("TERMINAL_LITERAL","TL");

	private String descricao;

	private String abreviacao;

	private Token(String descricao, String abreviacao) {
		this.descricao = descricao;
		this.abreviacao = abreviacao;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getAbreviacao() {
		return abreviacao;
	}

	public void setAbreviacao(String abreviacao) {
		this.abreviacao = abreviacao;
	}

	public String parse(Token tipoToken) {
		for (Token item : Token.values()) {
			if (tipoToken.getAbreviacao().equals(item.getAbreviacao())) {
				return item.getDescricao();
			}
		}
		return null;
		
	}
}
